home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_0799 / 668 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  11.2 KB

  1. Date: Sat, 2 Jul 94 00:35 CDT
  2. From: ekl@sdf.lonestar.org (Evan K. Langlois)
  3. To: gem-list@world.std.com
  4. Subject: A Revised (slightly) Proposal 
  5. Precedence: bulk
  6.  
  7. In addition to keyboard short-cuts we need standardized panels (dialogs),
  8. standard menu positions, and other such guidelines, like how a block
  9. should be selected, how to select discontinous blocks, application data
  10. linkage (no GEM app currently supports this I believe), and what happens
  11. when you type and a block already exists.  The only way to satify everyone
  12. is to make a standard that allows user configuration. The NeXT guide specifies
  13. that short-cuts can be changed.  I submit the following based on 3 standards,
  14. in order - Atari Compendium, NeXT Guidelines (an extension of apple), and
  15. finally this list.  You do NOT have to implement everything in here, and
  16. the guideline also specfifies how to NOT use the guideline!   Also, the
  17. APP_DEFS.SYS file mentioned here and options such as the block=big-cursor
  18. and other weirdness, or country-specific options and such should be
  19. supplied in here.  The user should be able to configure everything globally
  20. and should be be able to configure each app separately if he/she so desires.
  21. We also need to discuss mouse pointers and cursor types, and it is possible
  22. that these would be in the APP_DEFS.SYS too!
  23.  
  24. Function Keys are app-dependant, normally used for macros or execution of
  25. external programs.  Possible are normal, shift, control, alt, shift/control,
  26. shift/alt, but NOT any combination of with alt and control at once.
  27.  
  28. ===========================================================================
  29.  
  30. The following is based on the NeXTStep User Interface Guidelines 3.2
  31. Chapter 3: User Actions: The Keyboard and Mouse.  It assumes that user
  32. preferences are stored in the APP_DEFS.SYS file which is searched for
  33. in the following directories, in order, "U:\etc", "C:\multitos", "C:\mint",
  34. "C:\system", "C:\", and finally the current working directory.  "A:"
  35. should be substituted for "C:" if the user booted from floppy.  Also, the
  36. current working directory will be searched even if the file is already
  37. found in another directory and these settings will over-ride settings
  38. previously found.
  39.  
  40. Choosing Keyboard Alternatives
  41.  
  42. Initially, until the user specifies a different preference, applications
  43. should follow the guidelines for keyboard alternatives described in this
  44. section.  Users can use the Preferences application to alter the keyboard
  45. alternatives for every application at once.  You're also encouraged to let
  46. the user choose and change keyboard alternatives using your application's
  47. Preferences panel.
  48.  
  49. Some sort of "Preferences" application should be generated by the gem-list.
  50. To change the global preferences, run the app, and to change the preferences
  51. of a specific application, pass that application's name on the command line.
  52. This can be run from another GEM application, concurrently if your AES allows
  53. it to provide a consistent interface for editing the APP-DEFS.SYS file.
  54.  
  55. A global usage "Install" application could also set paths and options in
  56. this file as well as copy the files to the proper destination, make 
  57. directories, install icons in the desktop RSC file, and also de-install
  58. all these options and icons and delete the proper files when needed.
  59. By allowing the user to change keys globally he can conform best to the
  60. application/standards that he uses most, so if he want to have ^U close
  61. a window the user can change it himself (although he will have to find
  62. a new key for underline!)
  63.  
  64. Code will also be provided (possibly a whole library) for parsing the file
  65. and for utilizing the information contained within.
  66.  
  67. The guidelines place keyboard alternatives into three groups--reserved,
  68. required, and recommended.  These groups are listed in the tables that fol-
  69. low along with the commands they perform and the menus where the commands
  70. are located.
  71.  
  72. Note that "Command" is normally CONTROL, since ATARI has reserved some ALT
  73. combinations and others are used to generate special keys. Terminal programs
  74. should over-ride global settings in an application specific line so that
  75. ALT is used as the Command key for that app.  Shift is the up-arrow (ascii 1)
  76. In menus, the caret "^" denotes CONTROL and the window closer should be used
  77. for ALT, and an equivalence character (ascii 240) in a boxchar object should
  78. be used for drop-down lists.  The use of the word "panel" refers to a
  79. a standardized dialog which the gem-list should provide code and RSCs for.
  80. The right arrow shows a cascading menu, the delete character (the delta) is
  81. for the iconify/miniturize gadget and buttons that show >> expand the dialog
  82. while << shortens a dialog (for advanced and novice user options).
  83.  
  84. Any function below is assumed to work on upon the currently selected object,
  85. and if no object is selected, it is global.  So HIDE, is hide the currently
  86. selected object, or hide the application.  Show Info gives information about
  87. the object, or about the application.
  88.  
  89. Reserved Keyboard Alternatives
  90.  
  91. Reserved keyboard alternatives must be used for the commands that follow,
  92. and cannot be used for any others.  If your application implements the
  93. functionality that a command represents, it must provide both the command
  94. and the keyboard alternative.
  95.  
  96. For example, if your application opens files, it must have an Open command
  97. with Command-o as the keyboard alternative.  If your application doesn't
  98. allow the user to open files, it won't have an Open command and must not
  99. use Command-o as a keyboard alternative.
  100.  
  101. Keyboard             Command              Menu
  102. ------------------------------------------------------
  103. HELP             Access Help              Help
  104. shift HELP       Context-senstive Help    Help
  105. ALT HELP         Screen Dump              <<no menu>>
  106. UNDO             Undo last command        Edit
  107. ^UNDO            Redo last command        Edit
  108. shift ^UNDO      Multi-level UNDO         Edit
  109. ^A               Select All               Edit
  110. shift ^A         De-select All            Edit
  111. ^C               Copy                     Edit
  112. ^H               Hide                     File
  113. shift ^H         Un_Hide                  Edit
  114. ^N               New                      File
  115. ^O               Open                     File
  116. ^P               Print                    File
  117. ^Q               Quit                     File
  118. ^S               Save                     File
  119. ^V               Paste                    Edit
  120. ^W               Close                    File
  121. shift ^W         Abandon + Reload         File
  122. ^X               Cut                      Edit
  123. TAB              Cycle Object Selection   <<no menu>>
  124. TAB              type-writer style tab    <<no menu>>
  125. ^TAB             Cycle Windows            Window
  126. ALT TAB          Cycle Apps               <<reserved in MultiTOS>>
  127. ^ ALT \          Emergeny Kill App!       <<reserved in MiNT/MultiTOS>>
  128. ^ ALT C          Abort Now!               <<reserved in MiNT/MultiTOS>>
  129.  
  130. The following are editing keys, for both text apps, and maybe dialogs :
  131.  
  132. ^ BKSP           Delete word to left      <<none>>
  133. ^ DEL            Delete word to right     <<none>>
  134. ^ ARROW          Move left/right one word <<none>>
  135. ^ CLRHOME        Move to start of doc.    <<none>>
  136. shift ^DEL       Delete to end of line    <<none>>
  137. shift ^BS        Delete from beg of line  <<none>>
  138. shift LEFT       Move to begin. of line   <<none>>
  139. shift RIGHT      Move to end of line      <<none>>
  140. shift UP         Move up one page         <<none>>
  141. shift DOWN       Move down one page       <<none>>
  142. shift DEL        Delete line              <<none>>
  143. shift CLRHOME    Move to end of document  <none>>
  144. ARROW            Move one char left/right <<none>>
  145. CLRHOME          Move to top of window    <<none>>
  146. BKSP             Delete to left of cursor <<none>>
  147. shift BKSP       same as normal backspace  ...
  148. DEL              Delete right of cursor   <<none>>
  149. INSERT           Toggle insert/overwrite  <<none>>
  150.  
  151. << Hide Application has the same effect as recieving a WM_ALLICONIFY
  152.    message.  Hide Object hides the currently selected object by removing
  153.    it from the screen.  Unhide will unhide all hidden objects.>>
  154.  
  155. Required Keyboard Alternatives
  156.  
  157. These keyboard alternatives must be used if the application implements the
  158. command.  For example, if your application has a Find panel, you must pro-
  159. vide ^F as a way of bringing the panel up.
  160.  
  161. However, if an application doesn't implement the particular functionality
  162. of an item (if it doesn't have a Find panel, for example), it can use the
  163. keyboard alternative (^F) for something else.  Nevertheless, to pre-
  164. serve interapplication consistency, it's strongly recommended that you
  165. first try to use characters that don't overlap with those on this list.
  166.  
  167.  
  168. Keyboard             Command              Menu
  169. ------------------------------------------------------
  170. ^ =              Define in Dictionary     Text
  171. ^ ;              Check Spelling           Text
  172. ^B               Bold (Unbold)            Style
  173. ^D               Find Previous            Edit
  174. ^E               Enter Selection          Edit
  175. ^F               Find Panel               Edit
  176. ^G               Find Next                Edit
  177. ^I               Italic (Unitalic)        Style
  178. ^T               Font Panel               Style
  179. ^U               Underline (un-underline) Style
  180. shift ^C         Append to Clipboard      Edit
  181. shift ^I         Show Info                File
  182. shift ^V         Insert File              Edit
  183. shift ^K         Colors                   Style
  184. shift ^F         Find & Replace           Edit
  185.  
  186. << note find next and find previous are also replace next and replace
  187.    previous if you used find & replace instead of find.               >>
  188.  
  189. Recommended Keyboard Alternatives
  190.  
  191. These keyboard alternatives must be used for a command if the command has a
  192. keyboard alternative.  If not, the key can be used for some other command.
  193. For example, if the Copy Ruler command has no keyboard alternative, Com-
  194. mand-1 can be used as a keyboard alternative for another command.
  195.  
  196.  
  197. Keyboard             Command              Menu
  198. ------------------------------------------------------
  199. ^1               Copy  Ruler              Text
  200. ^2               Paste Ruler              Text
  201. ^3               Copy Font                Style
  202. ^4               Paste Font               Style
  203. ^J               Jump to Selection        Edit
  204. ^L               Redraw Screen            Window
  205. ^M               Miniturize window        Window
  206. ^R               Show Ruler               Text
  207. shift ^B         Set New Block-Start      Edit
  208. shift ^E         Set New Block-End        Edit
  209. shift ^P         Page Layout              File
  210. shift ^S         Save As                  File
  211. shift ^L         Paste and Link           Link
  212.  
  213. <<note if redraw screen is supported, just turn on and off your menu with
  214.        the menu bar command and then call form_dial for the whole screen
  215.        and the AES will send all the proper redraw messages               >>
  216. <<note Set New Block functions support multiple blocks if the programmer
  217.        so desires by not deselecting the old block.  To set a new block
  218.        in this case, just use deselect all                                >>
  219.  
  220.  
  221. In Dialog Boxes
  222. ---------------
  223. Return -                OK, Yes, etc...
  224. Undo -                  Cancel, Abort, etc...
  225.  
  226. Other buttons should be available via ALT+<x> as in Let 'em Fly. Editable
  227. text fields should follow the standard as above.
  228.  
  229.  
  230.  
  231.  
  232.